package com.bilibili.java.bookpage.dao;

import java.sql.Connection;
import java.util.List;

import com.bilibili.java.bookpage.bean.Commodity;
import com.bilibili.java.bookpage.bean.Indent;
import com.bilibili.java.bookpage.bean.Orders;

public interface HomePageDao {
	/**
	 * 查询所有书籍的Dao层方法
	 * @return
	 */
	public List<Commodity> getBooksList();
	
	/**
	 * 获得分页条件下的纪录
	 * @param startIndex 初始下标
	 * @param record	纪录条数
	 * @return
	 */
	public List<Commodity> getBooksFootet(int startIndex,int record);
	/**
	 * 取出数据库中指定书籍信息的方法
	 * @param id
	 * @return
	 */
	public Commodity getBook(int id);
	/**
	 * 添加书籍到购物车
	 * @param indent
	 * @return
	 */
	public int addBook(Indent indent);
	/**
	 * 查询订单的Dao层方法
	 * @param id 
	 * @return
	 */
	public List<Indent> orderList(int id);
	/**
	 * 查询购物车是否存在指定的书籍购物
	 * @param userId
	 * @param bookId
	 * @return
	 */
	public Indent queryShoppingCart(int userId, int bookId);
	/**
	 * 购物车中存在书籍时，修改书籍的数量
	 * @param indent
	 * @return
	 */
	public int updateBook(Indent indent);
	/**
	 * 删除指定id 的购物车
	 * @param id 购物车编号
	 * @return
	 */
	public int delectBook(int id);
	/**
	 * 新增订单
	 * @param id
	 * @param number
	 * @return
	 * @throws Exception 
	 */
	public int addOrder(String[] id,Connection conn) throws Exception;
	/**
	 * 新增订单详情
	 * @param id
	 * @param primary
	 * @param conn
	 * @return
	 * @throws Exception 
	 */
	public int addOrderInfo(String[] id, int primary, Connection conn) throws Exception;
	/**
	 * 修改购物车数量
	 * @param id
	 * @param number
	 * @return
	 */
	public int updateShoppingCartNumber(String id, String number);
	/**
	 * 删除已经添加到订单的购物车
	 * @param id
	 * @return
	 */
	public int delectShoppingcartId(String[] id,Connection conn) throws Exception;
	
	/**
	 * 订单编号查询订单详情
	 * @param orderId
	 * @return
	 */
	public List<Orders> queryOrder(int orderId);
	
	
}
